<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Doxygen: pcl::people::HeightMap2D&lt; PointT &gt; 模板类 参考</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Doxygen
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- 制作者 Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'搜索','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','搜索');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('classpcl_1_1people_1_1_height_map2_d.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-types">Public 类型</a> &#124;
<a href="#pub-methods">Public 成员函数</a> &#124;
<a href="#pro-attribs">Protected 属性</a> &#124;
<a href="classpcl_1_1people_1_1_height_map2_d-members.html">所有成员列表</a>  </div>
  <div class="headertitle">
<div class="title">pcl::people::HeightMap2D&lt; PointT &gt; 模板类 参考</div>  </div>
</div><!--header-->
<div class="contents">

<p><b><a class="el" href="classpcl_1_1people_1_1_height_map2_d.html" title="HeightMap2D represents a class for creating a 2D height map from a point cloud and searching for its ...">HeightMap2D</a></b> represents a class for creating a 2D height map from a point cloud and searching for its local maxima  
 <a href="classpcl_1_1people_1_1_height_map2_d.html#details">更多...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public 类型</h2></td></tr>
<tr class="memitem:ac0b29bdc33198ee925b5216ff764d655"><td class="memItemLeft" align="right" valign="top"><a id="ac0b29bdc33198ee925b5216ff764d655"></a>
typedef <a class="el" href="classpcl_1_1_point_cloud.html">pcl::PointCloud</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>PointCloud</b></td></tr>
<tr class="separator:ac0b29bdc33198ee925b5216ff764d655"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7ab041d4192fd1e3a1560a283a0816c9"><td class="memItemLeft" align="right" valign="top"><a id="a7ab041d4192fd1e3a1560a283a0816c9"></a>
typedef boost::shared_ptr&lt; <a class="el" href="classpcl_1_1_point_cloud.html">PointCloud</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>PointCloudPtr</b></td></tr>
<tr class="separator:a7ab041d4192fd1e3a1560a283a0816c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a42f7fc49f4ce6c2536a7c3236dcdafbd"><td class="memItemLeft" align="right" valign="top"><a id="a42f7fc49f4ce6c2536a7c3236dcdafbd"></a>
typedef boost::shared_ptr&lt; const <a class="el" href="classpcl_1_1_point_cloud.html">PointCloud</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>PointCloudConstPtr</b></td></tr>
<tr class="separator:a42f7fc49f4ce6c2536a7c3236dcdafbd"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public 成员函数</h2></td></tr>
<tr class="memitem:a10f956ce6d7351b97974bc1cb8fbae79"><td class="memItemLeft" align="right" valign="top"><a id="a10f956ce6d7351b97974bc1cb8fbae79"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1people_1_1_height_map2_d.html#a10f956ce6d7351b97974bc1cb8fbae79">HeightMap2D</a> ()</td></tr>
<tr class="memdesc:a10f956ce6d7351b97974bc1cb8fbae79"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <br /></td></tr>
<tr class="separator:a10f956ce6d7351b97974bc1cb8fbae79"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf568139e5a1106ad60e1d12741ef1b0"><td class="memItemLeft" align="right" valign="top"><a id="aaf568139e5a1106ad60e1d12741ef1b0"></a>
virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1people_1_1_height_map2_d.html#aaf568139e5a1106ad60e1d12741ef1b0">~HeightMap2D</a> ()</td></tr>
<tr class="memdesc:aaf568139e5a1106ad60e1d12741ef1b0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <br /></td></tr>
<tr class="separator:aaf568139e5a1106ad60e1d12741ef1b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab9941599e003ecf088022bf6ceca9358"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1people_1_1_height_map2_d.html#ab9941599e003ecf088022bf6ceca9358">compute</a> (<a class="el" href="classpcl_1_1people_1_1_person_cluster.html">pcl::people::PersonCluster</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt; &amp;cluster)</td></tr>
<tr class="memdesc:ab9941599e003ecf088022bf6ceca9358"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the height map with the projection of cluster points onto the ground plane.  <a href="classpcl_1_1people_1_1_height_map2_d.html#ab9941599e003ecf088022bf6ceca9358">更多...</a><br /></td></tr>
<tr class="separator:ab9941599e003ecf088022bf6ceca9358"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a42342359c091b6e6fb79247735559b78"><td class="memItemLeft" align="right" valign="top"><a id="a42342359c091b6e6fb79247735559b78"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1people_1_1_height_map2_d.html#a42342359c091b6e6fb79247735559b78">searchLocalMaxima</a> ()</td></tr>
<tr class="memdesc:a42342359c091b6e6fb79247735559b78"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute local maxima of the height map. <br /></td></tr>
<tr class="separator:a42342359c091b6e6fb79247735559b78"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a01d741d570707f05001e3771c9307aaa"><td class="memItemLeft" align="right" valign="top"><a id="a01d741d570707f05001e3771c9307aaa"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1people_1_1_height_map2_d.html#a01d741d570707f05001e3771c9307aaa">filterMaxima</a> ()</td></tr>
<tr class="memdesc:a01d741d570707f05001e3771c9307aaa"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classpcl_1_1_filter.html" title="Filter represents the base filter class. All filters must inherit from this interface.">Filter</a> maxima of the height map by imposing a minimum distance between them. <br /></td></tr>
<tr class="separator:a01d741d570707f05001e3771c9307aaa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a94cb420797b29aeedd1275f9cf884c2b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1people_1_1_height_map2_d.html#a94cb420797b29aeedd1275f9cf884c2b">setInputCloud</a> (PointCloudPtr &amp;cloud)</td></tr>
<tr class="memdesc:a94cb420797b29aeedd1275f9cf884c2b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set initial cluster indices.  <a href="classpcl_1_1people_1_1_height_map2_d.html#a94cb420797b29aeedd1275f9cf884c2b">更多...</a><br /></td></tr>
<tr class="separator:a94cb420797b29aeedd1275f9cf884c2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa6d4ab7506cc5c2088db813aa7c9b009"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1people_1_1_height_map2_d.html#aa6d4ab7506cc5c2088db813aa7c9b009">setGround</a> (Eigen::VectorXf &amp;ground_coeffs)</td></tr>
<tr class="memdesc:aa6d4ab7506cc5c2088db813aa7c9b009"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the ground coefficients.  <a href="classpcl_1_1people_1_1_height_map2_d.html#aa6d4ab7506cc5c2088db813aa7c9b009">更多...</a><br /></td></tr>
<tr class="separator:aa6d4ab7506cc5c2088db813aa7c9b009"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a85dc9f7b0b41c56dd9cd1159c7412464"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1people_1_1_height_map2_d.html#a85dc9f7b0b41c56dd9cd1159c7412464">setBinSize</a> (float bin_size)</td></tr>
<tr class="memdesc:a85dc9f7b0b41c56dd9cd1159c7412464"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set bin size for the height map.  <a href="classpcl_1_1people_1_1_height_map2_d.html#a85dc9f7b0b41c56dd9cd1159c7412464">更多...</a><br /></td></tr>
<tr class="separator:a85dc9f7b0b41c56dd9cd1159c7412464"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd6d90075dc41c9b445443e27dec6c64"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1people_1_1_height_map2_d.html#acd6d90075dc41c9b445443e27dec6c64">setMinimumDistanceBetweenMaxima</a> (float minimum_distance_between_maxima)</td></tr>
<tr class="memdesc:acd6d90075dc41c9b445443e27dec6c64"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set minimum distance between maxima.  <a href="classpcl_1_1people_1_1_height_map2_d.html#acd6d90075dc41c9b445443e27dec6c64">更多...</a><br /></td></tr>
<tr class="separator:acd6d90075dc41c9b445443e27dec6c64"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9631039bfaa4068582015156c4cc74e7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1people_1_1_height_map2_d.html#a9631039bfaa4068582015156c4cc74e7">setSensorPortraitOrientation</a> (bool vertical)</td></tr>
<tr class="memdesc:a9631039bfaa4068582015156c4cc74e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set sensor orientation to landscape mode (false) or portrait mode (true).  <a href="classpcl_1_1people_1_1_height_map2_d.html#a9631039bfaa4068582015156c4cc74e7">更多...</a><br /></td></tr>
<tr class="separator:a9631039bfaa4068582015156c4cc74e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab04328b1db616152c6d1d7ba8dd781a0"><td class="memItemLeft" align="right" valign="top"><a id="ab04328b1db616152c6d1d7ba8dd781a0"></a>
std::vector&lt; int &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1people_1_1_height_map2_d.html#ab04328b1db616152c6d1d7ba8dd781a0">getHeightMap</a> ()</td></tr>
<tr class="memdesc:ab04328b1db616152c6d1d7ba8dd781a0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the height map as a vector of int. <br /></td></tr>
<tr class="separator:ab04328b1db616152c6d1d7ba8dd781a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a94b1d4eabbdccc8617db5a9e3f64f400"><td class="memItemLeft" align="right" valign="top"><a id="a94b1d4eabbdccc8617db5a9e3f64f400"></a>
float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1people_1_1_height_map2_d.html#a94b1d4eabbdccc8617db5a9e3f64f400">getBinSize</a> ()</td></tr>
<tr class="memdesc:a94b1d4eabbdccc8617db5a9e3f64f400"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get bin size for the height map. <br /></td></tr>
<tr class="separator:a94b1d4eabbdccc8617db5a9e3f64f400"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac9cfa038d0c7ce24f084e061be345b2e"><td class="memItemLeft" align="right" valign="top"><a id="ac9cfa038d0c7ce24f084e061be345b2e"></a>
float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1people_1_1_height_map2_d.html#ac9cfa038d0c7ce24f084e061be345b2e">getMinimumDistanceBetweenMaxima</a> ()</td></tr>
<tr class="memdesc:ac9cfa038d0c7ce24f084e061be345b2e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get minimum distance between maxima of the height map. <br /></td></tr>
<tr class="separator:ac9cfa038d0c7ce24f084e061be345b2e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a96d4d813f2307acb6a1442f54357c625"><td class="memItemLeft" align="right" valign="top"><a id="a96d4d813f2307acb6a1442f54357c625"></a>
int &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1people_1_1_height_map2_d.html#a96d4d813f2307acb6a1442f54357c625">getMaximaNumberAfterFiltering</a> ()</td></tr>
<tr class="memdesc:a96d4d813f2307acb6a1442f54357c625"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the maxima number after the filterMaxima method. <br /></td></tr>
<tr class="separator:a96d4d813f2307acb6a1442f54357c625"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a61f73b3dc7139567b6fb222f7d51119d"><td class="memItemLeft" align="right" valign="top"><a id="a61f73b3dc7139567b6fb222f7d51119d"></a>
std::vector&lt; int &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1people_1_1_height_map2_d.html#a61f73b3dc7139567b6fb222f7d51119d">getMaximaCloudIndicesFiltered</a> ()</td></tr>
<tr class="memdesc:a61f73b3dc7139567b6fb222f7d51119d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the point cloud indices corresponding to the maxima computed after the filterMaxima method. <br /></td></tr>
<tr class="separator:a61f73b3dc7139567b6fb222f7d51119d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected 属性</h2></td></tr>
<tr class="memitem:a2be4e03aba2ebd03b9f0bf19b6ed58a3"><td class="memItemLeft" align="right" valign="top"><a id="a2be4e03aba2ebd03b9f0bf19b6ed58a3"></a>
Eigen::VectorXf&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1people_1_1_height_map2_d.html#a2be4e03aba2ebd03b9f0bf19b6ed58a3">ground_coeffs_</a></td></tr>
<tr class="memdesc:a2be4e03aba2ebd03b9f0bf19b6ed58a3"><td class="mdescLeft">&#160;</td><td class="mdescRight">ground plane coefficients <br /></td></tr>
<tr class="separator:a2be4e03aba2ebd03b9f0bf19b6ed58a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d65da09105b010a4f9657ae32d25278"><td class="memItemLeft" align="right" valign="top"><a id="a4d65da09105b010a4f9657ae32d25278"></a>
float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1people_1_1_height_map2_d.html#a4d65da09105b010a4f9657ae32d25278">sqrt_ground_coeffs_</a></td></tr>
<tr class="memdesc:a4d65da09105b010a4f9657ae32d25278"><td class="mdescLeft">&#160;</td><td class="mdescRight">ground plane normalization factor <br /></td></tr>
<tr class="separator:a4d65da09105b010a4f9657ae32d25278"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1cccf7c592dc1300c23c64f53133e73d"><td class="memItemLeft" align="right" valign="top"><a id="a1cccf7c592dc1300c23c64f53133e73d"></a>
PointCloudPtr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1people_1_1_height_map2_d.html#a1cccf7c592dc1300c23c64f53133e73d">cloud_</a></td></tr>
<tr class="memdesc:a1cccf7c592dc1300c23c64f53133e73d"><td class="mdescLeft">&#160;</td><td class="mdescRight">pointer to the input cloud <br /></td></tr>
<tr class="separator:a1cccf7c592dc1300c23c64f53133e73d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a97d135e43746f62899f72d867ae7e323"><td class="memItemLeft" align="right" valign="top"><a id="a97d135e43746f62899f72d867ae7e323"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1people_1_1_height_map2_d.html#a97d135e43746f62899f72d867ae7e323">vertical_</a></td></tr>
<tr class="memdesc:a97d135e43746f62899f72d867ae7e323"><td class="mdescLeft">&#160;</td><td class="mdescRight">if true, the sensor is considered to be vertically placed (portrait mode) <br /></td></tr>
<tr class="separator:a97d135e43746f62899f72d867ae7e323"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae9308efc42c7152617268167c4e96700"><td class="memItemLeft" align="right" valign="top"><a id="ae9308efc42c7152617268167c4e96700"></a>
std::vector&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1people_1_1_height_map2_d.html#ae9308efc42c7152617268167c4e96700">buckets_</a></td></tr>
<tr class="memdesc:ae9308efc42c7152617268167c4e96700"><td class="mdescLeft">&#160;</td><td class="mdescRight">vector with maximum height values for every bin (height map) <br /></td></tr>
<tr class="separator:ae9308efc42c7152617268167c4e96700"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a87dc840b3cce79567561638ae228f25c"><td class="memItemLeft" align="right" valign="top"><a id="a87dc840b3cce79567561638ae228f25c"></a>
std::vector&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1people_1_1_height_map2_d.html#a87dc840b3cce79567561638ae228f25c">buckets_cloud_indices_</a></td></tr>
<tr class="memdesc:a87dc840b3cce79567561638ae228f25c"><td class="mdescLeft">&#160;</td><td class="mdescRight">indices of the pointcloud points with maximum height for every bin <br /></td></tr>
<tr class="separator:a87dc840b3cce79567561638ae228f25c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeb065abde2a1badcbdbc2b0248f54eb2"><td class="memItemLeft" align="right" valign="top"><a id="aeb065abde2a1badcbdbc2b0248f54eb2"></a>
float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1people_1_1_height_map2_d.html#aeb065abde2a1badcbdbc2b0248f54eb2">bin_size_</a></td></tr>
<tr class="memdesc:aeb065abde2a1badcbdbc2b0248f54eb2"><td class="mdescLeft">&#160;</td><td class="mdescRight">bin dimension <br /></td></tr>
<tr class="separator:aeb065abde2a1badcbdbc2b0248f54eb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a984166d37121881bd2956dcb49eb71b6"><td class="memItemLeft" align="right" valign="top"><a id="a984166d37121881bd2956dcb49eb71b6"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1people_1_1_height_map2_d.html#a984166d37121881bd2956dcb49eb71b6">maxima_number_</a></td></tr>
<tr class="memdesc:a984166d37121881bd2956dcb49eb71b6"><td class="mdescLeft">&#160;</td><td class="mdescRight">number of local maxima in the height map <br /></td></tr>
<tr class="separator:a984166d37121881bd2956dcb49eb71b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a508228dc2370e7bc1f2c220f84e00eb8"><td class="memItemLeft" align="right" valign="top"><a id="a508228dc2370e7bc1f2c220f84e00eb8"></a>
std::vector&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1people_1_1_height_map2_d.html#a508228dc2370e7bc1f2c220f84e00eb8">maxima_indices_</a></td></tr>
<tr class="memdesc:a508228dc2370e7bc1f2c220f84e00eb8"><td class="mdescLeft">&#160;</td><td class="mdescRight">contains the position of the maxima in the buckets vector <br /></td></tr>
<tr class="separator:a508228dc2370e7bc1f2c220f84e00eb8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aef71fe9b039cda726c72d9740d3c1eb2"><td class="memItemLeft" align="right" valign="top"><a id="aef71fe9b039cda726c72d9740d3c1eb2"></a>
std::vector&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1people_1_1_height_map2_d.html#aef71fe9b039cda726c72d9740d3c1eb2">maxima_cloud_indices_</a></td></tr>
<tr class="memdesc:aef71fe9b039cda726c72d9740d3c1eb2"><td class="mdescLeft">&#160;</td><td class="mdescRight">contains the point cloud position of the maxima (indices of the point cloud) <br /></td></tr>
<tr class="separator:aef71fe9b039cda726c72d9740d3c1eb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7e37fa65b78506bc8e390427e1a6f9e8"><td class="memItemLeft" align="right" valign="top"><a id="a7e37fa65b78506bc8e390427e1a6f9e8"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1people_1_1_height_map2_d.html#a7e37fa65b78506bc8e390427e1a6f9e8">maxima_number_after_filtering_</a></td></tr>
<tr class="memdesc:a7e37fa65b78506bc8e390427e1a6f9e8"><td class="mdescLeft">&#160;</td><td class="mdescRight">number of local maxima after filtering <br /></td></tr>
<tr class="separator:a7e37fa65b78506bc8e390427e1a6f9e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c92055b8e5118ac6d212638b8ba95d5"><td class="memItemLeft" align="right" valign="top"><a id="a7c92055b8e5118ac6d212638b8ba95d5"></a>
std::vector&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1people_1_1_height_map2_d.html#a7c92055b8e5118ac6d212638b8ba95d5">maxima_indices_filtered_</a></td></tr>
<tr class="memdesc:a7c92055b8e5118ac6d212638b8ba95d5"><td class="mdescLeft">&#160;</td><td class="mdescRight">contains the position of the maxima in the buckets array after filtering <br /></td></tr>
<tr class="separator:a7c92055b8e5118ac6d212638b8ba95d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a37f8e3c53a4efe79d839fb9667c318c4"><td class="memItemLeft" align="right" valign="top"><a id="a37f8e3c53a4efe79d839fb9667c318c4"></a>
std::vector&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1people_1_1_height_map2_d.html#a37f8e3c53a4efe79d839fb9667c318c4">maxima_cloud_indices_filtered_</a></td></tr>
<tr class="memdesc:a37f8e3c53a4efe79d839fb9667c318c4"><td class="mdescLeft">&#160;</td><td class="mdescRight">contains the point cloud position of the maxima after filtering <br /></td></tr>
<tr class="separator:a37f8e3c53a4efe79d839fb9667c318c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a85e102236ae27c94dd76400de03cdbb8"><td class="memItemLeft" align="right" valign="top"><a id="a85e102236ae27c94dd76400de03cdbb8"></a>
float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1people_1_1_height_map2_d.html#a85e102236ae27c94dd76400de03cdbb8">min_dist_between_maxima_</a></td></tr>
<tr class="memdesc:a85e102236ae27c94dd76400de03cdbb8"><td class="mdescLeft">&#160;</td><td class="mdescRight">minimum allowed distance between maxima <br /></td></tr>
<tr class="separator:a85e102236ae27c94dd76400de03cdbb8"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">详细描述</h2>
<div class="textblock"><h3>template&lt;typename PointT&gt;<br />
class pcl::people::HeightMap2D&lt; PointT &gt;</h3>

<p><b><a class="el" href="classpcl_1_1people_1_1_height_map2_d.html" title="HeightMap2D represents a class for creating a 2D height map from a point cloud and searching for its ...">HeightMap2D</a></b> represents a class for creating a 2D height map from a point cloud and searching for its local maxima </p>
<dl class="section author"><dt>作者</dt><dd>Matteo Munaro </dd></dl>
</div><h2 class="groupheader">成员函数说明</h2>
<a id="ab9941599e003ecf088022bf6ceca9358"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab9941599e003ecf088022bf6ceca9358">&#9670;&nbsp;</a></span>compute()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointT &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1people_1_1_height_map2_d.html">pcl::people::HeightMap2D</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt;::compute </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classpcl_1_1people_1_1_person_cluster.html">pcl::people::PersonCluster</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>cluster</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Compute the height map with the projection of cluster points onto the ground plane. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">cluster</td><td>The <a class="el" href="classpcl_1_1people_1_1_person_cluster.html" title="PersonCluster represents a class for representing information about a cluster containing a person.">PersonCluster</a> used to compute the height map. </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;{</div>
<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;  <span class="comment">// Check if all mandatory variables have been set:</span></div>
<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;  <span class="keywordflow">if</span> (<a class="code" href="classpcl_1_1people_1_1_height_map2_d.html#a4d65da09105b010a4f9657ae32d25278">sqrt_ground_coeffs_</a> != <a class="code" href="classpcl_1_1people_1_1_height_map2_d.html#a4d65da09105b010a4f9657ae32d25278">sqrt_ground_coeffs_</a>)</div>
<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;  {</div>
<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;    PCL_ERROR (<span class="stringliteral">&quot;[pcl::people::HeightMap2D::compute] Floor parameters have not been set or they are not valid!\n&quot;</span>);</div>
<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;    <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;  }</div>
<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;  <span class="keywordflow">if</span> (<a class="code" href="classpcl_1_1people_1_1_height_map2_d.html#a1cccf7c592dc1300c23c64f53133e73d">cloud_</a> == NULL)</div>
<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;  {</div>
<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;    PCL_ERROR (<span class="stringliteral">&quot;[pcl::people::HeightMap2D::compute] Input cloud has not been set!\n&quot;</span>);</div>
<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;    <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;  }</div>
<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160; </div>
<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;  <span class="comment">// Reset variables:</span></div>
<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;  <a class="code" href="classpcl_1_1people_1_1_height_map2_d.html#ae9308efc42c7152617268167c4e96700">buckets_</a>.clear();</div>
<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;  <a class="code" href="classpcl_1_1people_1_1_height_map2_d.html#a87dc840b3cce79567561638ae228f25c">buckets_cloud_indices_</a>.clear();</div>
<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;  <a class="code" href="classpcl_1_1people_1_1_height_map2_d.html#a508228dc2370e7bc1f2c220f84e00eb8">maxima_indices_</a>.clear();</div>
<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;  <a class="code" href="classpcl_1_1people_1_1_height_map2_d.html#aef71fe9b039cda726c72d9740d3c1eb2">maxima_cloud_indices_</a>.clear();</div>
<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;  <a class="code" href="classpcl_1_1people_1_1_height_map2_d.html#a7c92055b8e5118ac6d212638b8ba95d5">maxima_indices_filtered_</a>.clear();</div>
<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;  <a class="code" href="classpcl_1_1people_1_1_height_map2_d.html#a37f8e3c53a4efe79d839fb9667c318c4">maxima_cloud_indices_filtered_</a>.clear();</div>
<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160; </div>
<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;  <span class="comment">// Create a height map with the projection of cluster points onto the ground plane:</span></div>
<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;  <span class="keywordflow">if</span> (!<a class="code" href="classpcl_1_1people_1_1_height_map2_d.html#a97d135e43746f62899f72d867ae7e323">vertical_</a>)    <span class="comment">// camera horizontal</span></div>
<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;    <a class="code" href="classpcl_1_1people_1_1_height_map2_d.html#ae9308efc42c7152617268167c4e96700">buckets_</a>.resize(<span class="keywordtype">size_t</span>((cluster.<a class="code" href="classpcl_1_1people_1_1_person_cluster.html#af2530b473928508064a1a6fa097c3aa5">getMax</a>()(0) - cluster.<a class="code" href="classpcl_1_1people_1_1_person_cluster.html#a61b05d6396ec901970f323f0607f958c">getMin</a>()(0)) / <a class="code" href="classpcl_1_1people_1_1_height_map2_d.html#aeb065abde2a1badcbdbc2b0248f54eb2">bin_size_</a>) + 1, 0);</div>
<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;  <span class="keywordflow">else</span>        <span class="comment">// camera vertical</span></div>
<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;    <a class="code" href="classpcl_1_1people_1_1_height_map2_d.html#ae9308efc42c7152617268167c4e96700">buckets_</a>.resize(<span class="keywordtype">size_t</span>((cluster.<a class="code" href="classpcl_1_1people_1_1_person_cluster.html#af2530b473928508064a1a6fa097c3aa5">getMax</a>()(1) - cluster.<a class="code" href="classpcl_1_1people_1_1_person_cluster.html#a61b05d6396ec901970f323f0607f958c">getMin</a>()(1)) / <a class="code" href="classpcl_1_1people_1_1_height_map2_d.html#aeb065abde2a1badcbdbc2b0248f54eb2">bin_size_</a>) + 1, 0);</div>
<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;  <a class="code" href="classpcl_1_1people_1_1_height_map2_d.html#a87dc840b3cce79567561638ae228f25c">buckets_cloud_indices_</a>.resize(<a class="code" href="classpcl_1_1people_1_1_height_map2_d.html#ae9308efc42c7152617268167c4e96700">buckets_</a>.size(), 0);</div>
<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160; </div>
<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;  <span class="keywordflow">for</span>(std::vector&lt;int&gt;::const_iterator pit = cluster.<a class="code" href="classpcl_1_1people_1_1_person_cluster.html#a317c12f4ab80b0bc52e417a781680d34">getIndices</a>().indices.begin(); pit != cluster.<a class="code" href="classpcl_1_1people_1_1_person_cluster.html#a317c12f4ab80b0bc52e417a781680d34">getIndices</a>().indices.end(); pit++)</div>
<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;  {</div>
<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;    <a class="code" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a>* p = &amp;<a class="code" href="classpcl_1_1people_1_1_height_map2_d.html#a1cccf7c592dc1300c23c64f53133e73d">cloud_</a>-&gt;points[*pit];</div>
<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;    <span class="keywordtype">int</span> index;</div>
<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;    <span class="keywordflow">if</span> (!<a class="code" href="classpcl_1_1people_1_1_height_map2_d.html#a97d135e43746f62899f72d867ae7e323">vertical_</a>)    <span class="comment">// camera horizontal</span></div>
<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;      index = int((p-&gt;x - cluster.<a class="code" href="classpcl_1_1people_1_1_person_cluster.html#a61b05d6396ec901970f323f0607f958c">getMin</a>()(0)) / <a class="code" href="classpcl_1_1people_1_1_height_map2_d.html#aeb065abde2a1badcbdbc2b0248f54eb2">bin_size_</a>);</div>
<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;    <span class="keywordflow">else</span>        <span class="comment">// camera vertical</span></div>
<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;      index = int((p-&gt;y - cluster.<a class="code" href="classpcl_1_1people_1_1_person_cluster.html#a61b05d6396ec901970f323f0607f958c">getMin</a>()(1)) / <a class="code" href="classpcl_1_1people_1_1_height_map2_d.html#aeb065abde2a1badcbdbc2b0248f54eb2">bin_size_</a>);</div>
<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;    <span class="keywordflow">if</span> (index &gt; (<span class="keyword">static_cast&lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span> (<a class="code" href="classpcl_1_1people_1_1_height_map2_d.html#ae9308efc42c7152617268167c4e96700">buckets_</a>.size ()) - 1))</div>
<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;      std::cout &lt;&lt; <span class="stringliteral">&quot;Error: out of array - &quot;</span> &lt;&lt; index &lt;&lt; <span class="stringliteral">&quot; of &quot;</span> &lt;&lt; <a class="code" href="classpcl_1_1people_1_1_height_map2_d.html#ae9308efc42c7152617268167c4e96700">buckets_</a>.size() &lt;&lt; std::endl;</div>
<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;    <span class="keywordflow">else</span></div>
<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;    {</div>
<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;      Eigen::Vector4f new_point(p-&gt;x, p-&gt;y, p-&gt;z, 1.0f);      <span class="comment">// select point from cluster</span></div>
<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;      <span class="keywordtype">float</span> heightp = std::fabs(new_point.dot(<a class="code" href="classpcl_1_1people_1_1_height_map2_d.html#a2be4e03aba2ebd03b9f0bf19b6ed58a3">ground_coeffs_</a>)); <span class="comment">// compute point height from the groundplane</span></div>
<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;      heightp /= <a class="code" href="classpcl_1_1people_1_1_height_map2_d.html#a4d65da09105b010a4f9657ae32d25278">sqrt_ground_coeffs_</a>;</div>
<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;      <span class="keywordflow">if</span> ((heightp * 60) &gt; <a class="code" href="classpcl_1_1people_1_1_height_map2_d.html#ae9308efc42c7152617268167c4e96700">buckets_</a>[index])   <span class="comment">// compare the height of the new point with the existing one</span></div>
<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;      {</div>
<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;        <a class="code" href="classpcl_1_1people_1_1_height_map2_d.html#ae9308efc42c7152617268167c4e96700">buckets_</a>[index] = heightp * 60;   <span class="comment">// maximum height</span></div>
<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;        <a class="code" href="classpcl_1_1people_1_1_height_map2_d.html#a87dc840b3cce79567561638ae228f25c">buckets_cloud_indices_</a>[index] = *pit;     <span class="comment">// point cloud index of the point with maximum height</span></div>
<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;      }</div>
<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;    }</div>
<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;  }</div>
<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160; </div>
<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;  <span class="comment">// Compute local maxima of the height map:</span></div>
<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;  <a class="code" href="classpcl_1_1people_1_1_height_map2_d.html#a42342359c091b6e6fb79247735559b78">searchLocalMaxima</a>();</div>
<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160; </div>
<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;  <span class="comment">// Filter maxima by imposing a minimum distance between them (minimum distance between people heads):</span></div>
<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;  <a class="code" href="classpcl_1_1people_1_1_height_map2_d.html#a01d741d570707f05001e3771c9307aaa">filterMaxima</a>();</div>
<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;}</div>
<div class="ttc" id="aclasspcl_1_1people_1_1_height_map2_d_html_a01d741d570707f05001e3771c9307aaa"><div class="ttname"><a href="classpcl_1_1people_1_1_height_map2_d.html#a01d741d570707f05001e3771c9307aaa">pcl::people::HeightMap2D::filterMaxima</a></div><div class="ttdeci">void filterMaxima()</div><div class="ttdoc">Filter maxima of the height map by imposing a minimum distance between them.</div><div class="ttdef"><b>Definition:</b> height_map_2d.hpp:203</div></div>
<div class="ttc" id="aclasspcl_1_1people_1_1_height_map2_d_html_a1cccf7c592dc1300c23c64f53133e73d"><div class="ttname"><a href="classpcl_1_1people_1_1_height_map2_d.html#a1cccf7c592dc1300c23c64f53133e73d">pcl::people::HeightMap2D::cloud_</a></div><div class="ttdeci">PointCloudPtr cloud_</div><div class="ttdoc">pointer to the input cloud</div><div class="ttdef"><b>Definition:</b> height_map_2d.h:170</div></div>
<div class="ttc" id="aclasspcl_1_1people_1_1_height_map2_d_html_a2be4e03aba2ebd03b9f0bf19b6ed58a3"><div class="ttname"><a href="classpcl_1_1people_1_1_height_map2_d.html#a2be4e03aba2ebd03b9f0bf19b6ed58a3">pcl::people::HeightMap2D::ground_coeffs_</a></div><div class="ttdeci">Eigen::VectorXf ground_coeffs_</div><div class="ttdoc">ground plane coefficients</div><div class="ttdef"><b>Definition:</b> height_map_2d.h:164</div></div>
<div class="ttc" id="aclasspcl_1_1people_1_1_height_map2_d_html_a37f8e3c53a4efe79d839fb9667c318c4"><div class="ttname"><a href="classpcl_1_1people_1_1_height_map2_d.html#a37f8e3c53a4efe79d839fb9667c318c4">pcl::people::HeightMap2D::maxima_cloud_indices_filtered_</a></div><div class="ttdeci">std::vector&lt; int &gt; maxima_cloud_indices_filtered_</div><div class="ttdoc">contains the point cloud position of the maxima after filtering</div><div class="ttdef"><b>Definition:</b> height_map_2d.h:200</div></div>
<div class="ttc" id="aclasspcl_1_1people_1_1_height_map2_d_html_a42342359c091b6e6fb79247735559b78"><div class="ttname"><a href="classpcl_1_1people_1_1_height_map2_d.html#a42342359c091b6e6fb79247735559b78">pcl::people::HeightMap2D::searchLocalMaxima</a></div><div class="ttdeci">void searchLocalMaxima()</div><div class="ttdoc">Compute local maxima of the height map.</div><div class="ttdef"><b>Definition:</b> height_map_2d.hpp:119</div></div>
<div class="ttc" id="aclasspcl_1_1people_1_1_height_map2_d_html_a4d65da09105b010a4f9657ae32d25278"><div class="ttname"><a href="classpcl_1_1people_1_1_height_map2_d.html#a4d65da09105b010a4f9657ae32d25278">pcl::people::HeightMap2D::sqrt_ground_coeffs_</a></div><div class="ttdeci">float sqrt_ground_coeffs_</div><div class="ttdoc">ground plane normalization factor</div><div class="ttdef"><b>Definition:</b> height_map_2d.h:167</div></div>
<div class="ttc" id="aclasspcl_1_1people_1_1_height_map2_d_html_a508228dc2370e7bc1f2c220f84e00eb8"><div class="ttname"><a href="classpcl_1_1people_1_1_height_map2_d.html#a508228dc2370e7bc1f2c220f84e00eb8">pcl::people::HeightMap2D::maxima_indices_</a></div><div class="ttdeci">std::vector&lt; int &gt; maxima_indices_</div><div class="ttdoc">contains the position of the maxima in the buckets vector</div><div class="ttdef"><b>Definition:</b> height_map_2d.h:188</div></div>
<div class="ttc" id="aclasspcl_1_1people_1_1_height_map2_d_html_a7c92055b8e5118ac6d212638b8ba95d5"><div class="ttname"><a href="classpcl_1_1people_1_1_height_map2_d.html#a7c92055b8e5118ac6d212638b8ba95d5">pcl::people::HeightMap2D::maxima_indices_filtered_</a></div><div class="ttdeci">std::vector&lt; int &gt; maxima_indices_filtered_</div><div class="ttdoc">contains the position of the maxima in the buckets array after filtering</div><div class="ttdef"><b>Definition:</b> height_map_2d.h:197</div></div>
<div class="ttc" id="aclasspcl_1_1people_1_1_height_map2_d_html_a87dc840b3cce79567561638ae228f25c"><div class="ttname"><a href="classpcl_1_1people_1_1_height_map2_d.html#a87dc840b3cce79567561638ae228f25c">pcl::people::HeightMap2D::buckets_cloud_indices_</a></div><div class="ttdeci">std::vector&lt; int &gt; buckets_cloud_indices_</div><div class="ttdoc">indices of the pointcloud points with maximum height for every bin</div><div class="ttdef"><b>Definition:</b> height_map_2d.h:179</div></div>
<div class="ttc" id="aclasspcl_1_1people_1_1_height_map2_d_html_a97d135e43746f62899f72d867ae7e323"><div class="ttname"><a href="classpcl_1_1people_1_1_height_map2_d.html#a97d135e43746f62899f72d867ae7e323">pcl::people::HeightMap2D::vertical_</a></div><div class="ttdeci">bool vertical_</div><div class="ttdoc">if true, the sensor is considered to be vertically placed (portrait mode)</div><div class="ttdef"><b>Definition:</b> height_map_2d.h:173</div></div>
<div class="ttc" id="aclasspcl_1_1people_1_1_height_map2_d_html_ae9308efc42c7152617268167c4e96700"><div class="ttname"><a href="classpcl_1_1people_1_1_height_map2_d.html#ae9308efc42c7152617268167c4e96700">pcl::people::HeightMap2D::buckets_</a></div><div class="ttdeci">std::vector&lt; int &gt; buckets_</div><div class="ttdoc">vector with maximum height values for every bin (height map)</div><div class="ttdef"><b>Definition:</b> height_map_2d.h:176</div></div>
<div class="ttc" id="aclasspcl_1_1people_1_1_height_map2_d_html_aeb065abde2a1badcbdbc2b0248f54eb2"><div class="ttname"><a href="classpcl_1_1people_1_1_height_map2_d.html#aeb065abde2a1badcbdbc2b0248f54eb2">pcl::people::HeightMap2D::bin_size_</a></div><div class="ttdeci">float bin_size_</div><div class="ttdoc">bin dimension</div><div class="ttdef"><b>Definition:</b> height_map_2d.h:182</div></div>
<div class="ttc" id="aclasspcl_1_1people_1_1_height_map2_d_html_aef71fe9b039cda726c72d9740d3c1eb2"><div class="ttname"><a href="classpcl_1_1people_1_1_height_map2_d.html#aef71fe9b039cda726c72d9740d3c1eb2">pcl::people::HeightMap2D::maxima_cloud_indices_</a></div><div class="ttdeci">std::vector&lt; int &gt; maxima_cloud_indices_</div><div class="ttdoc">contains the point cloud position of the maxima (indices of the point cloud)</div><div class="ttdef"><b>Definition:</b> height_map_2d.h:191</div></div>
<div class="ttc" id="aclasspcl_1_1people_1_1_person_cluster_html_a317c12f4ab80b0bc52e417a781680d34"><div class="ttname"><a href="classpcl_1_1people_1_1_person_cluster.html#a317c12f4ab80b0bc52e417a781680d34">pcl::people::PersonCluster::getIndices</a></div><div class="ttdeci">pcl::PointIndices &amp; getIndices()</div><div class="ttdoc">Returns the indices of the point cloud points corresponding to the cluster.</div><div class="ttdef"><b>Definition:</b> person_cluster.hpp:255</div></div>
<div class="ttc" id="aclasspcl_1_1people_1_1_person_cluster_html_a61b05d6396ec901970f323f0607f958c"><div class="ttname"><a href="classpcl_1_1people_1_1_person_cluster.html#a61b05d6396ec901970f323f0607f958c">pcl::people::PersonCluster::getMin</a></div><div class="ttdeci">Eigen::Vector3f &amp; getMin()</div><div class="ttdoc">Returns the point formed by min x, min y and min z.</div><div class="ttdef"><b>Definition:</b> person_cluster.hpp:331</div></div>
<div class="ttc" id="aclasspcl_1_1people_1_1_person_cluster_html_af2530b473928508064a1a6fa097c3aa5"><div class="ttname"><a href="classpcl_1_1people_1_1_person_cluster.html#af2530b473928508064a1a6fa097c3aa5">pcl::people::PersonCluster::getMax</a></div><div class="ttdeci">Eigen::Vector3f &amp; getMax()</div><div class="ttdoc">Returns the point formed by max x, max y and max z.</div><div class="ttdef"><b>Definition:</b> person_cluster.hpp:337</div></div>
<div class="ttc" id="astructpcl_1_1_point_x_y_z_r_g_b_a_html"><div class="ttname"><a href="structpcl_1_1_point_x_y_z_r_g_b_a.html">pcl::PointXYZRGBA</a></div><div class="ttdoc">A point structure representing Euclidean xyz coordinates, and the RGBA color.</div><div class="ttdef"><b>Definition:</b> point_types.hpp:540</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a85dc9f7b0b41c56dd9cd1159c7412464"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a85dc9f7b0b41c56dd9cd1159c7412464">&#9670;&nbsp;</a></span>setBinSize()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointT &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1people_1_1_height_map2_d.html">pcl::people::HeightMap2D</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt;::setBinSize </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>bin_size</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set bin size for the height map. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">bin_size</td><td>Bin size for the height map (default = 0.06). </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;{</div>
<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;  <a class="code" href="classpcl_1_1people_1_1_height_map2_d.html#aeb065abde2a1badcbdbc2b0248f54eb2">bin_size_</a> = bin_size;</div>
<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;}</div>
</div><!-- fragment -->
</div>
</div>
<a id="aa6d4ab7506cc5c2088db813aa7c9b009"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa6d4ab7506cc5c2088db813aa7c9b009">&#9670;&nbsp;</a></span>setGround()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointT &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1people_1_1_height_map2_d.html">pcl::people::HeightMap2D</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt;::setGround </td>
          <td>(</td>
          <td class="paramtype">Eigen::VectorXf &amp;&#160;</td>
          <td class="paramname"><em>ground_coeffs</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the ground coefficients. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ground_coeffs</td><td>The ground plane coefficients. </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;{</div>
<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;  <a class="code" href="classpcl_1_1people_1_1_height_map2_d.html#a2be4e03aba2ebd03b9f0bf19b6ed58a3">ground_coeffs_</a> = ground_coeffs;</div>
<div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;  <a class="code" href="classpcl_1_1people_1_1_height_map2_d.html#a4d65da09105b010a4f9657ae32d25278">sqrt_ground_coeffs_</a> = (ground_coeffs - Eigen::Vector4f(0.0f, 0.0f, 0.0f, ground_coeffs(3))).norm();</div>
<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a94cb420797b29aeedd1275f9cf884c2b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a94cb420797b29aeedd1275f9cf884c2b">&#9670;&nbsp;</a></span>setInputCloud()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointT &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1people_1_1_height_map2_d.html">pcl::people::HeightMap2D</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt;::setInputCloud </td>
          <td>(</td>
          <td class="paramtype">PointCloudPtr &amp;&#160;</td>
          <td class="paramname"><em>cloud</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set initial cluster indices. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">cloud</td><td>A pointer to the input cloud. </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;{</div>
<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;  <a class="code" href="classpcl_1_1people_1_1_height_map2_d.html#a1cccf7c592dc1300c23c64f53133e73d">cloud_</a> = cloud;</div>
<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;}</div>
</div><!-- fragment -->
</div>
</div>
<a id="acd6d90075dc41c9b445443e27dec6c64"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acd6d90075dc41c9b445443e27dec6c64">&#9670;&nbsp;</a></span>setMinimumDistanceBetweenMaxima()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointT &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1people_1_1_height_map2_d.html">pcl::people::HeightMap2D</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt;::setMinimumDistanceBetweenMaxima </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>minimum_distance_between_maxima</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set minimum distance between maxima. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">minimum_distance_between_maxima</td><td>Minimum allowed distance between maxima (default = 0.3). </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;{</div>
<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;  <a class="code" href="classpcl_1_1people_1_1_height_map2_d.html#a85e102236ae27c94dd76400de03cdbb8">min_dist_between_maxima_</a> = minimum_distance_between_maxima;</div>
<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;}</div>
<div class="ttc" id="aclasspcl_1_1people_1_1_height_map2_d_html_a85e102236ae27c94dd76400de03cdbb8"><div class="ttname"><a href="classpcl_1_1people_1_1_height_map2_d.html#a85e102236ae27c94dd76400de03cdbb8">pcl::people::HeightMap2D::min_dist_between_maxima_</a></div><div class="ttdeci">float min_dist_between_maxima_</div><div class="ttdoc">minimum allowed distance between maxima</div><div class="ttdef"><b>Definition:</b> height_map_2d.h:203</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a9631039bfaa4068582015156c4cc74e7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9631039bfaa4068582015156c4cc74e7">&#9670;&nbsp;</a></span>setSensorPortraitOrientation()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointT &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1people_1_1_height_map2_d.html">pcl::people::HeightMap2D</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt;::setSensorPortraitOrientation </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>vertical</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set sensor orientation to landscape mode (false) or portrait mode (true). </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">vertical</td><td>Landscape (false) or portrait (true) mode (default = false). </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;{</div>
<div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;  <a class="code" href="classpcl_1_1people_1_1_height_map2_d.html#a97d135e43746f62899f72d867ae7e323">vertical_</a> = vertical;</div>
<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;}</div>
</div><!-- fragment -->
</div>
</div>
<hr/>该类的文档由以下文件生成:<ul>
<li>people/include/pcl/people/<a class="el" href="height__map__2d_8h_source.html">height_map_2d.h</a></li>
<li>people/include/pcl/people/impl/<a class="el" href="height__map__2d_8hpp_source.html">height_map_2d.hpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><b>pcl</b></li><li class="navelem"><b>people</b></li><li class="navelem"><a class="el" href="classpcl_1_1people_1_1_height_map2_d.html">HeightMap2D</a></li>
    <li class="footer">制作者 <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
  </ul>
</div>
</body>
</html>
